package afcp.alumni.dao.base;

import java.io.Serializable;
import java.util.Collection;
import java.util.Map;

import afcp.alumni.model.base.DatastoreEntity;

public interface DaoCache {

	// basic methods

	public void put(Serializable key, Serializable value);

	public void putAll(Map<Serializable, Serializable> t);

	public Object get(String id, String entityName);

	public <T extends Object> Map<T, Serializable> get(Collection<T> keys,
			String entityName);

	public Object remove(String id, String entityName);

	public boolean containsKey(Serializable key);

	public boolean isEmpty();

	public int size();

	// end basic methods

	// specific methods

	public <T extends DatastoreEntity> void putEntitiesById(Collection<T> entities,
			String entityName);

}
